package com.zw.a.basic.a09.demo02_integer;

//案例: 演示其他基本类型的数据 和 String之间如何相互转换.
/*
    结论: 记忆
        1. 包装类中都有一个方法, 叫 parseXxx(), 用于把字符串形式的 该类型数据, 转成对应的 基本类型, Character类型除外.
           例子:
              Integer.parseInt("纯数字类型的字符串值");           用于把 String  ->   int
              Double.parseDouble("纯数字类型的字符串值");         用于把 String  ->   double
              Boolean.parseBoolean("字符串形式的true或者false");  用于把 String  ->   boolean

        2. 因为字符串的本质就是一个字符数组, 所以字符和字符串之间的转换有特殊的方式.
            场景1:  单字符 和 字符串之间相互转换.
                char   ->     String
                    String s1 = 'a' + "";
               String  ->     char
                    char ch = "abc".charAt(1);

            场景2:  字符数组   -> 字符串之间相互转换.
                char[]      ->      String
                    char[] chs = {'a', 'b', 'c'};
                    String s = new String(chs);

                String      ->      char[]
                    String s = "abc";
                    char[] chs = s.toCharArray();
 */
public class Demo03 {
    public static void main(String[] args) {
        //1. 演示除Character之外的, 其他包装类的共性方法.
        //String  ->     int
        int num = Integer.parseInt("123");
        //String  ->     double
        double d = Double.parseDouble("10.3");
        //String  ->     boolean
        boolean flag = Boolean.parseBoolean("false");
        System.out.println("num: " + num);
        System.out.println("d: " + d);
        System.out.println("flag: " + flag);
        System.out.println("-------------------------------");

        //2. 演示 字符   -> 字符串之间相互转换, 略.
        //char   ->     String
        String s1 = 'a' + "";
        //String  ->     char
        char ch = "abc".charAt(1);

        //3. 演示 字符数组   -> 字符串之间相互转换,
        //String      ->      char[]
        String str = "黑马程序员";
        char[] chs = str.toCharArray();
        //System.out.println(chs);    //这里不是地址值,而是数组元素.  IO流解释.
        for (int i = 0; i < chs.length; i++) {
            char c = chs[i];
            System.out.println(c);
        }

        // char[]      ->      String
        String str2 = new String(chs);
        System.out.println("str2: " + str2);

    }
}
